Sejarah linier melalui fast-forwarding hanya mungkin jika riwayat cabang berupa garis lurus dari turunan. Saat cabang dasar dan cabang fitur mulai bercabang, gerakan 'pointer' sederhana dari merge fast-forward menjadi tidak mungkin secara matematis.
1. Perbedaan yang Nyata
Merge fast-forward adalah tidak tercatat dalam sejarah proyek. Ini berarti eksistensi unik cabang ini pada dasarnya dihapus saat digabungkan. Sebaliknya, merge tiga arah mempertahankan narasi kerja paralel.
2. Prinsip Sejarawan
Cabang tetap cabang master berfungsi sebagai sejarawan bagi seluruh proyek kita. Ia hanya dapat mencatat apa yang kita izinkan dilihat; saat jalur bercabang, kita dipaksa membuat 'acara' baru—commit merge—untuk menghubungkan celah dan menyelaraskan dua realitas berbeda yang berkembang secara bersamaan. commit merge—to bridge the gap and reconcile two different realities that evolved simultaneously.
3. Deteksi Pembagian
Menggunakan git log --oneline, pengembang dapat melihat di mana jalur bercabang. Jika 'master' telah bergerak maju sejak Anda membuat cabang, Git tidak bisa menggeser pointer ke depan tanpa kehilangan pekerjaan baru di master.